{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# 9 Pandas分组与聚合"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 设置索引"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-08T12:51:51.502270Z",
     "start_time": "2025-01-08T12:51:51.147823Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ],
   "outputs": [],
   "execution_count": 1
  },
  {
   "cell_type": "code",
   "source": [
    "#索引中单项不可变，但是整体可以换掉\n",
    "a = pd.DataFrame({'a': range(7),'b': range(7, 0, -1),\n",
    "                  'c': ['one','one','one','two','two','two', 'two'],\n",
    "                  'd': list(\"hjklmno\")})\n",
    "a"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:12:31.601504Z",
     "start_time": "2025-01-07T08:12:31.592501Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   a  b    c  d\n",
       "0  0  7  one  h\n",
       "1  1  6  one  j\n",
       "2  2  5  one  k\n",
       "3  3  4  two  l\n",
       "4  4  3  two  m\n",
       "5  5  2  two  n\n",
       "6  6  1  two  o"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>c</th>\n",
       "      <th>d</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>one</td>\n",
       "      <td>h</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>one</td>\n",
       "      <td>j</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>one</td>\n",
       "      <td>k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>two</td>\n",
       "      <td>l</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>two</td>\n",
       "      <td>m</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>two</td>\n",
       "      <td>n</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>two</td>\n",
       "      <td>o</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 3
  },
  {
   "cell_type": "code",
   "source": [
    "c=a.copy()\n",
    "a.index=list('abcdefg')  #a的索引变了，a.index更换索引\n",
    "print(c)\n",
    "# a.columns=list('ABCD')  #a的列名变了，a.columns更换列名\n",
    "print('-'*50)\n",
    "print(a)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:13:24.537096Z",
     "start_time": "2025-01-07T08:13:24.533252Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   a  b    c  d\n",
      "0  0  7  one  h\n",
      "1  1  6  one  j\n",
      "2  2  5  one  k\n",
      "3  3  4  two  l\n",
      "4  4  3  two  m\n",
      "5  5  2  two  n\n",
      "6  6  1  two  o\n",
      "--------------------------------------------------\n",
      "   a  b    c  d\n",
      "a  0  7  one  h\n",
      "b  1  6  one  j\n",
      "c  2  5  one  k\n",
      "d  3  4  two  l\n",
      "e  4  3  two  m\n",
      "f  5  2  two  n\n",
      "g  6  1  two  o\n"
     ]
    }
   ],
   "execution_count": 4
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "outputs": [
    {
     "data": {
      "text/plain": "(7, 4)"
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c.values.shape"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-04-11T08:42:05.057905400Z",
     "start_time": "2024-04-11T08:42:05.034914200Z"
    }
   }
  },
  {
   "cell_type": "code",
   "source": [
    "#让某些列变为索引，让c列，d列数据变为索引\n",
    "print(a)\n",
    "print('-'*50)\n",
    "a.set_index(['c'],inplace=True)#a没变，返回修改后的df\n",
    "a"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:13:54.615028Z",
     "start_time": "2025-01-07T08:13:54.609902Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   a  b    c  d\n",
      "a  0  7  one  h\n",
      "b  1  6  one  j\n",
      "c  2  5  one  k\n",
      "d  3  4  two  l\n",
      "e  4  3  two  m\n",
      "f  5  2  two  n\n",
      "g  6  1  two  o\n",
      "--------------------------------------------------\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "     a  b  d\n",
       "c           \n",
       "one  0  7  h\n",
       "one  1  6  j\n",
       "one  2  5  k\n",
       "two  3  4  l\n",
       "two  4  3  m\n",
       "two  5  2  n\n",
       "two  6  1  o"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>d</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>c</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>h</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>j</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>one</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>l</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>m</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>n</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>two</th>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>o</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-07T08:14:31.276096Z",
     "start_time": "2025-01-07T08:14:31.273203Z"
    }
   },
   "cell_type": "code",
   "source": "a.columns",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['a', 'b', 'd'], dtype='object')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-07T08:14:37.573934Z",
     "start_time": "2025-01-07T08:14:37.570557Z"
    }
   },
   "cell_type": "code",
   "source": "a.index",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['one', 'one', 'one', 'two', 'two', 'two', 'two'], dtype='object', name='c')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 时间序列"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "source": [
    "pd.date_range(start=\"20190101\", end=\"20190201\")"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:16:18.505210Z",
     "start_time": "2025-01-07T08:16:18.502041Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04',\n",
       "               '2019-01-05', '2019-01-06', '2019-01-07', '2019-01-08',\n",
       "               '2019-01-09', '2019-01-10', '2019-01-11', '2019-01-12',\n",
       "               '2019-01-13', '2019-01-14', '2019-01-15', '2019-01-16',\n",
       "               '2019-01-17', '2019-01-18', '2019-01-19', '2019-01-20',\n",
       "               '2019-01-21', '2019-01-22', '2019-01-23', '2019-01-24',\n",
       "               '2019-01-25', '2019-01-26', '2019-01-27', '2019-01-28',\n",
       "               '2019-01-29', '2019-01-30', '2019-01-31', '2019-02-01'],\n",
       "              dtype='datetime64[ns]', freq='D')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 9
  },
  {
   "cell_type": "code",
   "source": "pd.date_range(start=\"20250107\",periods=10,freq='B')",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:17:04.576048Z",
     "start_time": "2025-01-07T08:17:04.572375Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2025-01-07', '2025-01-08', '2025-01-09', '2025-01-10',\n",
       "               '2025-01-13', '2025-01-14', '2025-01-15', '2025-01-16',\n",
       "               '2025-01-17', '2025-01-20'],\n",
       "              dtype='datetime64[ns]', freq='B')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 11
  },
  {
   "cell_type": "code",
   "source": "pd.date_range(start=\"20190101\",periods=10,freq='ME')",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:17:32.736261Z",
     "start_time": "2025-01-07T08:17:32.732208Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2019-01-31', '2019-02-28', '2019-03-31', '2019-04-30',\n",
       "               '2019-05-31', '2019-06-30', '2019-07-31', '2019-08-31',\n",
       "               '2019-09-30', '2019-10-31'],\n",
       "              dtype='datetime64[ns]', freq='ME')"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 13
  },
  {
   "cell_type": "code",
   "source": [
    "pd.date_range(start=\"20190101\",periods=10,freq='MS')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:17:37.817927Z",
     "start_time": "2025-01-07T08:17:37.813729Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2019-01-01', '2019-02-01', '2019-03-01', '2019-04-01',\n",
       "               '2019-05-01', '2019-06-01', '2019-07-01', '2019-08-01',\n",
       "               '2019-09-01', '2019-10-01'],\n",
       "              dtype='datetime64[ns]', freq='MS')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 14
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "outputs": [
    {
     "data": {
      "text/plain": "DatetimeIndex(['2023-07-16', '2023-07-23', '2023-07-30', '2023-08-06',\n               '2023-08-13', '2023-08-20', '2023-08-27', '2023-09-03',\n               '2023-09-10', '2023-09-17'],\n              dtype='datetime64[ns]', freq='W-SUN')"
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.date_range(start=\"20230710\",periods=10,freq='W')  #拿每周的周日生成"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "source": [
    "s = pd.Series(['3/11/2000', '3/12/2000', '3/13/2000'] * 5)\n",
    "s"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:17:49.059081Z",
     "start_time": "2025-01-07T08:17:49.055767Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     3/11/2000\n",
       "1     3/12/2000\n",
       "2     3/13/2000\n",
       "3     3/11/2000\n",
       "4     3/12/2000\n",
       "5     3/13/2000\n",
       "6     3/11/2000\n",
       "7     3/12/2000\n",
       "8     3/13/2000\n",
       "9     3/11/2000\n",
       "10    3/12/2000\n",
       "11    3/13/2000\n",
       "12    3/11/2000\n",
       "13    3/12/2000\n",
       "14    3/13/2000\n",
       "dtype: object"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 15
  },
  {
   "cell_type": "code",
   "source": [
    "#timeit可以统计执行耗时，to_datetime把字符串转为时间格式\n",
    "pd.to_datetime(s)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-07T08:18:52.128687Z",
     "start_time": "2025-01-07T08:18:52.125040Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2000-03-11\n",
       "1    2000-03-12\n",
       "2    2000-03-13\n",
       "3    2000-03-11\n",
       "4    2000-03-12\n",
       "5    2000-03-13\n",
       "6    2000-03-11\n",
       "7    2000-03-12\n",
       "8    2000-03-13\n",
       "9    2000-03-11\n",
       "10   2000-03-12\n",
       "11   2000-03-13\n",
       "12   2000-03-11\n",
       "13   2000-03-12\n",
       "14   2000-03-13\n",
       "dtype: datetime64[ns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 17
  },
  {
   "cell_type": "code",
   "source": [
    "#实战美国911数据\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# 把时间字符串转为时间类型设置为索引\n",
    "df = pd.read_csv(\"./911.csv\")\n",
    "df[\"timeStamp\"] = pd.to_datetime(df[\"timeStamp\"])\n",
    "print(df.info())\n",
    "# 添加列，表示分类\n",
    "temp_list = df[\"title\"].str.split(\": \").tolist() #二维列表\n",
    "cate_list = [i[0] for i in temp_list] #i[0]就是EMS  Fire  Traffic\n",
    "# print(cate_list)\n",
    "# print(np.array(cate_list).reshape((df.shape[0], 1)))\n",
    " #添加一列\n",
    "df[\"cate\"] = pd.DataFrame(np.array(cate_list).reshape((df.shape[0], 1)))\n",
    "\n",
    "df.set_index(\"timeStamp\", inplace=True) #设置索引，时间戳，inplace=True表示在原df上修改\n",
    "\n",
    "df.head(10)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:15:45.451325Z",
     "start_time": "2025-01-08T13:15:43.647305Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 249737 entries, 0 to 249736\n",
      "Data columns (total 9 columns):\n",
      " #   Column     Non-Null Count   Dtype         \n",
      "---  ------     --------------   -----         \n",
      " 0   lat        249737 non-null  float64       \n",
      " 1   lng        249737 non-null  float64       \n",
      " 2   desc       249737 non-null  object        \n",
      " 3   zip        219391 non-null  float64       \n",
      " 4   title      249737 non-null  object        \n",
      " 5   timeStamp  249737 non-null  datetime64[ns]\n",
      " 6   twp        249644 non-null  object        \n",
      " 7   addr       249737 non-null  object        \n",
      " 8   e          249737 non-null  int64         \n",
      "dtypes: datetime64[ns](1), float64(3), int64(1), object(4)\n",
      "memory usage: 17.1+ MB\n",
      "None\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "                           lat        lng  \\\n",
       "timeStamp                                   \n",
       "2015-12-10 17:10:52  40.297876 -75.581294   \n",
       "2015-12-10 17:29:21  40.258061 -75.264680   \n",
       "2015-12-10 14:39:21  40.121182 -75.351975   \n",
       "2015-12-10 16:47:36  40.116153 -75.343513   \n",
       "2015-12-10 16:56:52  40.251492 -75.603350   \n",
       "2015-12-10 15:39:04  40.253473 -75.283245   \n",
       "2015-12-10 16:46:48  40.182111 -75.127795   \n",
       "2015-12-10 16:17:05  40.217286 -75.405182   \n",
       "2015-12-10 16:51:42  40.289027 -75.399590   \n",
       "2015-12-10 17:35:41  40.102398 -75.291458   \n",
       "\n",
       "                                                                  desc  \\\n",
       "timeStamp                                                                \n",
       "2015-12-10 17:10:52  REINDEER CT & DEAD END;  NEW HANOVER; Station ...   \n",
       "2015-12-10 17:29:21  BRIAR PATH & WHITEMARSH LN;  HATFIELD TOWNSHIP...   \n",
       "2015-12-10 14:39:21  HAWS AVE; NORRISTOWN; 2015-12-10 @ 14:39:21-St...   \n",
       "2015-12-10 16:47:36  AIRY ST & SWEDE ST;  NORRISTOWN; Station 308A;...   \n",
       "2015-12-10 16:56:52  CHERRYWOOD CT & DEAD END;  LOWER POTTSGROVE; S...   \n",
       "2015-12-10 15:39:04  CANNON AVE & W 9TH ST;  LANSDALE; Station 345;...   \n",
       "2015-12-10 16:46:48  LAUREL AVE & OAKDALE AVE;  HORSHAM; Station 35...   \n",
       "2015-12-10 16:17:05  COLLEGEVILLE RD & LYWISKI RD;  SKIPPACK; Stati...   \n",
       "2015-12-10 16:51:42  MAIN ST & OLD SUMNEYTOWN PIKE;  LOWER SALFORD;...   \n",
       "2015-12-10 17:35:41  BLUEROUTE  & RAMP I476 NB TO CHEMICAL RD; PLYM...   \n",
       "\n",
       "                         zip                        title                twp  \\\n",
       "timeStamp                                                                      \n",
       "2015-12-10 17:10:52  19525.0       EMS: BACK PAINS/INJURY        NEW HANOVER   \n",
       "2015-12-10 17:29:21  19446.0      EMS: DIABETIC EMERGENCY  HATFIELD TOWNSHIP   \n",
       "2015-12-10 14:39:21  19401.0          Fire: GAS-ODOR/LEAK         NORRISTOWN   \n",
       "2015-12-10 16:47:36  19401.0       EMS: CARDIAC EMERGENCY         NORRISTOWN   \n",
       "2015-12-10 16:56:52      NaN               EMS: DIZZINESS   LOWER POTTSGROVE   \n",
       "2015-12-10 15:39:04  19446.0             EMS: HEAD INJURY           LANSDALE   \n",
       "2015-12-10 16:46:48  19044.0         EMS: NAUSEA/VOMITING            HORSHAM   \n",
       "2015-12-10 16:17:05  19426.0   EMS: RESPIRATORY EMERGENCY           SKIPPACK   \n",
       "2015-12-10 16:51:42  19438.0        EMS: SYNCOPAL EPISODE      LOWER SALFORD   \n",
       "2015-12-10 17:35:41  19462.0  Traffic: VEHICLE ACCIDENT -           PLYMOUTH   \n",
       "\n",
       "                                                         addr  e     cate  \n",
       "timeStamp                                                                  \n",
       "2015-12-10 17:10:52                    REINDEER CT & DEAD END  1      EMS  \n",
       "2015-12-10 17:29:21                BRIAR PATH & WHITEMARSH LN  1      EMS  \n",
       "2015-12-10 14:39:21                                  HAWS AVE  1     Fire  \n",
       "2015-12-10 16:47:36                        AIRY ST & SWEDE ST  1      EMS  \n",
       "2015-12-10 16:56:52                  CHERRYWOOD CT & DEAD END  1      EMS  \n",
       "2015-12-10 15:39:04                     CANNON AVE & W 9TH ST  1      EMS  \n",
       "2015-12-10 16:46:48                  LAUREL AVE & OAKDALE AVE  1      EMS  \n",
       "2015-12-10 16:17:05              COLLEGEVILLE RD & LYWISKI RD  1      EMS  \n",
       "2015-12-10 16:51:42             MAIN ST & OLD SUMNEYTOWN PIKE  1      EMS  \n",
       "2015-12-10 17:35:41  BLUEROUTE  & RAMP I476 NB TO CHEMICAL RD  1  Traffic  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>lat</th>\n",
       "      <th>lng</th>\n",
       "      <th>desc</th>\n",
       "      <th>zip</th>\n",
       "      <th>title</th>\n",
       "      <th>twp</th>\n",
       "      <th>addr</th>\n",
       "      <th>e</th>\n",
       "      <th>cate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>timeStamp</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-10 17:10:52</th>\n",
       "      <td>40.297876</td>\n",
       "      <td>-75.581294</td>\n",
       "      <td>REINDEER CT &amp; DEAD END;  NEW HANOVER; Station ...</td>\n",
       "      <td>19525.0</td>\n",
       "      <td>EMS: BACK PAINS/INJURY</td>\n",
       "      <td>NEW HANOVER</td>\n",
       "      <td>REINDEER CT &amp; DEAD END</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 17:29:21</th>\n",
       "      <td>40.258061</td>\n",
       "      <td>-75.264680</td>\n",
       "      <td>BRIAR PATH &amp; WHITEMARSH LN;  HATFIELD TOWNSHIP...</td>\n",
       "      <td>19446.0</td>\n",
       "      <td>EMS: DIABETIC EMERGENCY</td>\n",
       "      <td>HATFIELD TOWNSHIP</td>\n",
       "      <td>BRIAR PATH &amp; WHITEMARSH LN</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 14:39:21</th>\n",
       "      <td>40.121182</td>\n",
       "      <td>-75.351975</td>\n",
       "      <td>HAWS AVE; NORRISTOWN; 2015-12-10 @ 14:39:21-St...</td>\n",
       "      <td>19401.0</td>\n",
       "      <td>Fire: GAS-ODOR/LEAK</td>\n",
       "      <td>NORRISTOWN</td>\n",
       "      <td>HAWS AVE</td>\n",
       "      <td>1</td>\n",
       "      <td>Fire</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 16:47:36</th>\n",
       "      <td>40.116153</td>\n",
       "      <td>-75.343513</td>\n",
       "      <td>AIRY ST &amp; SWEDE ST;  NORRISTOWN; Station 308A;...</td>\n",
       "      <td>19401.0</td>\n",
       "      <td>EMS: CARDIAC EMERGENCY</td>\n",
       "      <td>NORRISTOWN</td>\n",
       "      <td>AIRY ST &amp; SWEDE ST</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 16:56:52</th>\n",
       "      <td>40.251492</td>\n",
       "      <td>-75.603350</td>\n",
       "      <td>CHERRYWOOD CT &amp; DEAD END;  LOWER POTTSGROVE; S...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>EMS: DIZZINESS</td>\n",
       "      <td>LOWER POTTSGROVE</td>\n",
       "      <td>CHERRYWOOD CT &amp; DEAD END</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 15:39:04</th>\n",
       "      <td>40.253473</td>\n",
       "      <td>-75.283245</td>\n",
       "      <td>CANNON AVE &amp; W 9TH ST;  LANSDALE; Station 345;...</td>\n",
       "      <td>19446.0</td>\n",
       "      <td>EMS: HEAD INJURY</td>\n",
       "      <td>LANSDALE</td>\n",
       "      <td>CANNON AVE &amp; W 9TH ST</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 16:46:48</th>\n",
       "      <td>40.182111</td>\n",
       "      <td>-75.127795</td>\n",
       "      <td>LAUREL AVE &amp; OAKDALE AVE;  HORSHAM; Station 35...</td>\n",
       "      <td>19044.0</td>\n",
       "      <td>EMS: NAUSEA/VOMITING</td>\n",
       "      <td>HORSHAM</td>\n",
       "      <td>LAUREL AVE &amp; OAKDALE AVE</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 16:17:05</th>\n",
       "      <td>40.217286</td>\n",
       "      <td>-75.405182</td>\n",
       "      <td>COLLEGEVILLE RD &amp; LYWISKI RD;  SKIPPACK; Stati...</td>\n",
       "      <td>19426.0</td>\n",
       "      <td>EMS: RESPIRATORY EMERGENCY</td>\n",
       "      <td>SKIPPACK</td>\n",
       "      <td>COLLEGEVILLE RD &amp; LYWISKI RD</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 16:51:42</th>\n",
       "      <td>40.289027</td>\n",
       "      <td>-75.399590</td>\n",
       "      <td>MAIN ST &amp; OLD SUMNEYTOWN PIKE;  LOWER SALFORD;...</td>\n",
       "      <td>19438.0</td>\n",
       "      <td>EMS: SYNCOPAL EPISODE</td>\n",
       "      <td>LOWER SALFORD</td>\n",
       "      <td>MAIN ST &amp; OLD SUMNEYTOWN PIKE</td>\n",
       "      <td>1</td>\n",
       "      <td>EMS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10 17:35:41</th>\n",
       "      <td>40.102398</td>\n",
       "      <td>-75.291458</td>\n",
       "      <td>BLUEROUTE  &amp; RAMP I476 NB TO CHEMICAL RD; PLYM...</td>\n",
       "      <td>19462.0</td>\n",
       "      <td>Traffic: VEHICLE ACCIDENT -</td>\n",
       "      <td>PLYMOUTH</td>\n",
       "      <td>BLUEROUTE  &amp; RAMP I476 NB TO CHEMICAL RD</td>\n",
       "      <td>1</td>\n",
       "      <td>Traffic</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  },
  {
   "cell_type": "code",
   "source": [
    "plt.figure(figsize=(20, 8), dpi=80)\n",
    "\n",
    "# 分组,一图多线\n",
    "#resample降采样，按月统计,索引必须是时间类型，类似groupby\n",
    "for group_name, group_data in df.groupby(by=\"cate\"):\n",
    "    # 对不同的分类都进行绘图\n",
    "    count_by_month = group_data.resample(\"ME\").count()[\"title\"]  #降采样\n",
    "    print(count_by_month)\n",
    "    # 画图\n",
    "    _x = count_by_month.index\n",
    "    print(_x)\n",
    "    _y = count_by_month.values #values是对应事故发生次数\n",
    "\n",
    "    _x = [i.strftime(\"%Y%m%d\") for i in _x]  #变年月日格式\n",
    "\n",
    "    plt.plot(_x, _y, label=group_name)\n",
    "\n",
    "plt.xticks(range(len(_x)), _x, rotation=45)\n",
    "plt.legend(loc=\"best\")\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:14:57.595496Z",
     "start_time": "2025-01-08T13:14:56.990667Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "timeStamp\n",
      "2015-12-31    3898\n",
      "2016-01-31    6063\n",
      "2016-02-29    5413\n",
      "2016-03-31    5832\n",
      "2016-04-30    5684\n",
      "2016-05-31    5730\n",
      "2016-06-30    5720\n",
      "2016-07-31    6029\n",
      "2016-08-31    6005\n",
      "2016-09-30    5750\n",
      "2016-10-31    6039\n",
      "2016-11-30    5838\n",
      "2016-12-31    6024\n",
      "2017-01-31    6082\n",
      "2017-02-28    5417\n",
      "2017-03-31    5913\n",
      "2017-04-30    5780\n",
      "2017-05-31    5948\n",
      "2017-06-30    6030\n",
      "2017-07-31    5974\n",
      "2017-08-31    5882\n",
      "2017-09-30    3789\n",
      "Freq: ME, Name: title, dtype: int64\n",
      "DatetimeIndex(['2015-12-31', '2016-01-31', '2016-02-29', '2016-03-31',\n",
      "               '2016-04-30', '2016-05-31', '2016-06-30', '2016-07-31',\n",
      "               '2016-08-31', '2016-09-30', '2016-10-31', '2016-11-30',\n",
      "               '2016-12-31', '2017-01-31', '2017-02-28', '2017-03-31',\n",
      "               '2017-04-30', '2017-05-31', '2017-06-30', '2017-07-31',\n",
      "               '2017-08-31', '2017-09-30'],\n",
      "              dtype='datetime64[ns]', name='timeStamp', freq='ME')\n",
      "timeStamp\n",
      "2015-12-31    1095\n",
      "2016-01-31    1904\n",
      "2016-02-29    1868\n",
      "2016-03-31    1589\n",
      "2016-04-30    1717\n",
      "2016-05-31    1573\n",
      "2016-06-30    1787\n",
      "2016-07-31    1898\n",
      "2016-08-31    1907\n",
      "2016-09-30    1793\n",
      "2016-10-31    1930\n",
      "2016-11-30    1765\n",
      "2016-12-31    1846\n",
      "2017-01-31    1658\n",
      "2017-02-28    1462\n",
      "2017-03-31    1634\n",
      "2017-04-30    1614\n",
      "2017-05-31    1670\n",
      "2017-06-30    1986\n",
      "2017-07-31    1754\n",
      "2017-08-31    1862\n",
      "2017-09-30    1120\n",
      "Freq: ME, Name: title, dtype: int64\n",
      "DatetimeIndex(['2015-12-31', '2016-01-31', '2016-02-29', '2016-03-31',\n",
      "               '2016-04-30', '2016-05-31', '2016-06-30', '2016-07-31',\n",
      "               '2016-08-31', '2016-09-30', '2016-10-31', '2016-11-30',\n",
      "               '2016-12-31', '2017-01-31', '2017-02-28', '2017-03-31',\n",
      "               '2017-04-30', '2017-05-31', '2017-06-30', '2017-07-31',\n",
      "               '2017-08-31', '2017-09-30'],\n",
      "              dtype='datetime64[ns]', name='timeStamp', freq='ME')\n",
      "timeStamp\n",
      "2015-12-31    2923\n",
      "2016-01-31    5129\n",
      "2016-02-29    4115\n",
      "2016-03-31    3638\n",
      "2016-04-30    3886\n",
      "2016-05-31    4071\n",
      "2016-06-30    4225\n",
      "2016-07-31    4161\n",
      "2016-08-31    3992\n",
      "2016-09-30    4126\n",
      "2016-10-31    4533\n",
      "2016-11-30    4488\n",
      "2016-12-31    4292\n",
      "2017-01-31    3865\n",
      "2017-02-28    3388\n",
      "2017-03-31    4137\n",
      "2017-04-30    3662\n",
      "2017-05-31    4101\n",
      "2017-06-30    4317\n",
      "2017-07-31    4040\n",
      "2017-08-31    4009\n",
      "2017-09-30    2367\n",
      "Freq: ME, Name: title, dtype: int64\n",
      "DatetimeIndex(['2015-12-31', '2016-01-31', '2016-02-29', '2016-03-31',\n",
      "               '2016-04-30', '2016-05-31', '2016-06-30', '2016-07-31',\n",
      "               '2016-08-31', '2016-09-30', '2016-10-31', '2016-11-30',\n",
      "               '2016-12-31', '2017-01-31', '2017-02-28', '2017-03-31',\n",
      "               '2017-04-30', '2017-05-31', '2017-06-30', '2017-07-31',\n",
      "               '2017-08-31', '2017-09-30'],\n",
      "              dtype='datetime64[ns]', name='timeStamp', freq='ME')\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1600x640 with 1 Axes>"
      ],
      "image/png": "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xS0lC12yfx/w7W3A9nVA+zeBU8pHfUQiIiIiIiIiIm6oexVw1h3A4nHAkIejPpq4pWShS0a/BCz8BWhwK1CjfdRHIyIiIiIiIiLilpZPAxWbApPeA377KOqjiUtKFrpi4Rhg1PNAiVrAhc9EfTQiIiIiIiIiIu7JngPo+CFQqBwwsAeweELURxR3lCx0wbZ1QN9bgRwnA5f3Bk7KHfURiYiIiIiIiIi4KW8R4MrPgWw5gK+us/tDSDIlC+NdEAD9bge2rAAufhkoemrURyQiIiIiIiIi4raStYBL/wdsXWV3SN67K+ojihtKFsa7cf8D5g4B6lxlG3GKiIiIiIiIiMixO70D0OReYNlkYGB3W7AlShbGtWW/AcOeAIqcCrR5KeqjERERERERERHxy/n/AqpcAEz51G56IkoWxq2dm4CvbwISstk+hbnyRX1EIiIiIiIiIiJ+yZYd6PAeULgS8ONDwMKxyOqULIxHLHsd0A3YuAi46Fm7jl5ERERERERERI6/k0+xG57kyA18dT2wcQmyMiUL49FvvYEZ3wHV2wP1b4n6aERERERERERE/Fa8OvCPnsD2tcCX1wB7diCrUrIw3qyaAfz4MFCoHND+DSAhIeojEhERERERERHxX/V2QLMHgRXTgPFvI6vKEfUBSIzd24CvbwT27wU69gZOLhT1EYmIiIiIiIiIZB3NHgIKlAbqXoOsSsnCeMKKwrVzgJZPAYn1oz4aEREREREREZGsJVs24MwbkZUpWRhPzrzB7sJz9t1RH4mIiIiIiIiIiGRBShbGkzJn2g8REREREREREZEIaIMTERERERERERERMZQsFBEREREREREREUPJQhEREREREREREcl4svCee+5BhQoVkJCQgKlTpyb/fO7cuWjcuDGqVq2KBg0aYMaMGcf8OxEREREREREREYnjZGHHjh0xZswYlC9fPtXPu3Tpgs6dO2POnDl48MEHceONNx7z70RERERERERERCQaCUEQBBn9Y1YX9uvXD3Xr1sXq1atRpUoVrF+/Hjly5AD/Z0qVKmWSigUKFDiq3/Hnh5OYmIilS5cea9wiIiIiIiIiIiJZUuIh8mtH3bNwyZIlJsnHhB9xiXK5cuWwePHio/5del555RUTQPixdevWoz1kERERERERERERcXmDk+7du5tMZ/iRL1++qA9JRERERERERETES7a87yiULVsWK1aswN69e5OXE7M6kFWCXGp8NL8TERERERERERERBysLixcvjnr16uHTTz813/ft29csE2bfwaP9nYiIiIiIiIiIiMT5BifcvXjgwIFYuXIlihQpgvz582PevHmYPXu22cl43bp1pmKwd+/eqFWrlvlvjvZ3h6MNTkRERERERERERI7eofJrR7QbcjxQslBERERERERERCTOdkMWERERERERERERvyhZKCIiIiIiIiIiIoaShSIiIiIiIiIiImIoWSgiIiIiIiIiIiKGkoUiIiIiIiIiIiJiKFkoIiIiIiIiIiIihpKFIiIiIiIiIiIiYihZKCIiIiIiIiIiIkZCEAQBHJIrVy4UK1YMvtq6dSvy5csH3ygud/gYEykud/gYEykud/gYEykud/gYEykud/gYEykut/gYl48xkeJy05o1a7Br1y4/koW+S0xMxNKlS+EbxeUOH2MixeUOH2MixeUOH2MixeUOH2MixeUOH2MixeUWH+PyMSZSXP7RMmQRERERERERERExlCwUERERERERERERQ8nCONO9e3f4SHG5w8eYSHG5w8eYSHG5w8eYSHG5w8eYSHG5w8eYSHG5xce4fIyJFJd/1LNQREREREREREREDFUWioiIiIiIiIiIiKFkoYiIiIiIiIiIiBhKFoqIiIiIiIiIiIihZKFIhNQyVERERETEDZq7i0hWGTOULBSJwJYtW7B//34kJCREfShyGPv27Yv6EETEERovRORIzJ07F8uWLcPSpUujPhQ5jO3bt2vu7hCfr8cuJ5+yUlzbPRgztBuyB2bPno3s2bOjSpUq8MnixYuRL18+FC5cGD4ZMGAAPv74Y+zZswcXX3wxGjVqhNq1a8Nlvp6r/v3744cffsDq1avRo0cPVKpUCWXKlIHrfDxfAwcOxOjRo825evjhh815yps3L1zn6/juY1waL9yiMcMdPsZEgwYNwv/93/+ZuE455RQ899xzKFKkiNM3lr6er++//x6ff/45Nm3ahBtuuAF16tRBjRo14Dofz5Wv1+OpU6di165d5r6RmMJxfazwOa7vPRkzVFnowQuxfv366NmzJ2bMmAFf9OvXD6effjo++ugjrFmzBr4YNWqUmRjef//9aN++PYYMGYIHH3wQEydOhKt8PVe8ibz33nvRoUMHnHrqqXjzzTfx9ttvm4mVy3w8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8bHHHsNVV11ljv1Q763wexfO11tvvYW33347VbLQ5fM1cOBA3H///XjllVdSjRkHi8kVnBheeuml5ukpn4TztebD+M5xjbvM8mkrz1uYmHE5Lr4GeSPFKobbb78d9evXN7sqhhVpro4XvF5xfOc1q1u3bmZXQt5Utm/f3tnx4mjmGK7wcU44ffp0s8IinFuEMbgcEw0ePNjsKrtw4UIz32vVqlXyjp6Mh8kAvtd4I/n444+jX79+TiQKORZ+9NFHpqLwkUcewcUXX2x+7vL5mjBhAi688EJ07drVXLPCazEroPgRxsQEPefwrHpyYafqH3/8Ec8//zzefffdVMlCl89VOM+98847za71sclCl+fvnA/yofGWLVvQqVMns2OuD69Bzgd578ix7R//+EdyhZ3rcQ0YMMA8POWDce7gzPt9Xo9r1KhhPlyN66CiXgctB2+GzGaZvXv3Dh544IHglFNOSd6ZMBZ74LEfjytNQL///vsgISHBNC+NXbefdmcq7pDEuFzaBelw5+vRRx8NKlWqFDRs2NCZzUy4GxVjY08J9qkKm8LHni/XzlW4Q1WFChWCbt26mZ3SNm7c6Px7KzxfP//88wG/i91pzKXzxSbv1apVMz3Fwj6fsbG4GBMNGTLEnCvuLNulSxezCVLaTSRcfA0yLjYX5y6L7777bnDWWWcFO3bsOODvXIqLMXFsHzp0aPDOO+8Ep512WnDHHXccsAGBSzGFYyA38+D4zobc3H312WefPWD3S9feW1l5juHa65C7lWbLls1s6vHLL78k/zztGO9STLHnip+5mUmRIkUOOHa+54oVKxY0atTIiflguJEEr1vsBcfeitzlM73NCVw7XxzzzjzzzKBHjx7B//3f/5kNZ9L67LPPTEyubTwT+75Kj2vniv3guWFJuOMxN2jhfUna8d2luH788UfzvmKPe74GX3nllXTHQddeg+zhx7jYa5xjYePGjYNNmzYd8HeuxTVixAjz3powYYKZw19wwQVmgyrOqVyO61CULIxDnLzyhRjeINMVV1wR/PTTT8nfcxB56623zO5qLgyGtGjRoqBt27bBY489Zt5YTJ6lnezyZvmNN94wN2SuTKAycr6IzdNLlizpRINdNttmUjNMPDE2bgn/6quvmos0zxMv0K+//rpT5yrEc3DllVcG//73v83uVN9++60Z+CdNmmR+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YyLF5VZcmUI50+OnX79+QaNGjYKzzz47uP3224Pp06ebnXVCzGDfddddwemnnx6UKFEi+P333wMXKC534vIxJlJc7sTlY0ykuNyJy8eYSHEprqj5GBMpLnfi8jEmUlzuxOVjTKS43IorsyhZeJxMmjQpqFatWjBmzJhg/vz5QYcOHYKbb745+PHHH1O9IN98882gSJEiwYwZMwIXKC534vIxJlJc7sTlY0ykuNyJy8eYSHEprqj5GBMpLnfi8jEmUlzuxOVjTKS43IorM6Xu5ChHbevWrWjUqBGaNGlimlL37t0bBQoUwFdffYU5c+aYv5k3bx7Gjh2L4cOHo0aNGnCB4nInLh9jIsXlTlw+xkSKy524fIyJFJfiipqPMZHicicuH2MixeVOXD7GRIrLrbgyVaamJj02ZcqU4Iwzzgg2bNiQ/LPNmzcH7dq1C+65557kn23atClwieJyJy4fYyLF5U5cPsZEisuduHyMiRSX4oqajzGR4nInLh9jIsXlTlw+xkSKy624MpMqC4/ByJEjTTPMJ598EtWqVTNZa36E8ufPjxdeeAGzZs0ymW1iNjveKS534vIxJlJc7sTlY0ykuNyJy8eYSHEprqj5GBMpLnfi8jEmUlzuxOVjTKS43IorKkoWHqWBAweie/furMw0L7Y2bdrg+eefR+XKlVGrVi2sWrXK/N3kyZOxe/dus/OxCxSXO3H5GBMpLnfi8jEmUlzuxOVjTKS4FFfUfIyJFJc7cfkYEykud+LyMSZSXG7FFalMrWP0xG+//WaaZfIzLV++PLjwwguDv//+23x/5ZVXBo0bNw4uu+wys7PO1KlTAxcoLnfi8jEmUlzuxOVjTKS43InLx5hIcSmuqPkYEykud+LyMSZSXO7E5WNMpLjciitqSqcehYIFC+L2229HvXr1zPelSpXC9u3bMXHiRFSsWBF9+vTBzJkzsWnTJpQuXRrly5eHCxSXO3H5GBMpLnfi8jEmUlzuxOVjTKS4FFfUfIyJFJc7cfkYEykud+LyMSZSXG7FFbmos5Wu2rZtm/m8Z88e8/mKK64Ihg8fbr4eNGhQsGbNmsBFissdPsZEissdPsZEissdPsZEisstPsblY0ykuNzhY0ykuNzhY0ykuCSj1LPwKOXJk8d8TkhIMJ+55r1YsWLo168funXrho0bN8JFissdPsZEissdPsZEissdPsZEisstPsblY0ykuNzhY0ykuNzhY0ykuCSjtAz5GGXPnt18zps3L3r06IH169ebF2SVKlXgMsXlDh9jIsXlDh9jIsXlDh9jIsXlFh/j8jEmUlzu8DEmUlzu8DEmUlxyOEoWHiPutsPs9ZIlSzBlyhSMGzfOixei4nKHjzGR4nKHjzGR4nKHjzGR4nKLj3H5GBMpLnf4GBMpLnf4GBMpLjmcBK5FPuxfyWENGzYMJUqUMNty+0RxucPHmEhxucPHmEhxucPHmEhxucXHuHyMiRSXO3yMiRSXO3yMiRSXHIyShSIiIiIiIiIiImJogxMRERERERERERExlCwUERERERERERERQ8lCERERERERERERMZQsFBEREREREREREUPJQhERERERERERETGULBQRERERERERERFDyUIRERERERERERExlCwUERERERERERER0P8Diaxu1VW3wKYAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 4
  },
  {
   "cell_type": "markdown",
   "source": [
    "### 分组运算"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "source": [
    "import numpy as np\n",
    "#分组后给名称加前缀\n",
    "dict_obj = {'key1' : ['a', 'b', 'a', 'b',\n",
    "                      'a', 'b', 'a', 'a'],\n",
    "            'key2' : ['one', 'one', 'two', 'three',\n",
    "                      'two', 'two', 'one', 'three'],\n",
    "            'data1': np.random.randint(1, 10, 8),\n",
    "            'data2': np.random.randint(1, 10, 8)}\n",
    "df_obj = pd.DataFrame(dict_obj)\n",
    "print(df_obj)\n",
    "print('-'*50)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:20:14.444641Z",
     "start_time": "2025-01-08T13:20:13.982638Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  key1   key2  data1  data2\n",
      "0    a    one      8      9\n",
      "1    b    one      4      1\n",
      "2    a    two      8      1\n",
      "3    b  three      2      3\n",
      "4    a    two      8      4\n",
      "5    b    two      4      6\n",
      "6    a    one      2      4\n",
      "7    a  three      6      8\n",
      "--------------------------------------------------\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-08T13:21:20.543380Z",
     "start_time": "2025-01-08T13:21:20.536794Z"
    }
   },
   "cell_type": "code",
   "source": "df_obj.info()",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 8 entries, 0 to 7\n",
      "Data columns (total 4 columns):\n",
      " #   Column  Non-Null Count  Dtype \n",
      "---  ------  --------------  ----- \n",
      " 0   key1    8 non-null      object\n",
      " 1   key2    8 non-null      object\n",
      " 2   data1   8 non-null      int32 \n",
      " 3   data2   8 non-null      int32 \n",
      "dtypes: int32(2), object(2)\n",
      "memory usage: 324.0+ bytes\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-08T13:28:40.722591Z",
     "start_time": "2025-01-08T13:28:40.716745Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 按key1分组后，计算data1，data2的统计信息并附加到原始表格中，并添加表头前缀,as_index=False将a,b保留下来\n",
    "k1_sum = df_obj.groupby('key1',as_index=False).mean(numeric_only=True).add_prefix('mean_')\n",
    "print(k1_sum)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  mean_key1  mean_data1  mean_data2\n",
      "0         a    6.400000    5.200000\n",
      "1         b    3.333333    3.333333\n"
     ]
    }
   ],
   "execution_count": 21
  },
  {
   "cell_type": "code",
   "source": [
    "# 方法2，使用transform，分组后计算结果和原本的df保持一致\n",
    "k1_sum_tf = df_obj.loc[:,['key1','data1','data2']].groupby('key1').transform('mean').add_prefix('mean_')\n",
    "k1_sum_tf\n",
    "# df_obj[k1_sum_tf.columns] = k1_sum_tf\n",
    "# print(df_obj)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:25:24.536308Z",
     "start_time": "2025-01-08T13:25:24.527817Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   mean_data1  mean_data2\n",
       "0    6.400000    5.200000\n",
       "1    3.333333    3.333333\n",
       "2    6.400000    5.200000\n",
       "3    3.333333    3.333333\n",
       "4    6.400000    5.200000\n",
       "5    3.333333    3.333333\n",
       "6    6.400000    5.200000\n",
       "7    6.400000    5.200000"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mean_data1</th>\n",
       "      <th>mean_data2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 15
  },
  {
   "cell_type": "code",
   "source": [
    "del df_obj['key2']"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:27:12.178937Z",
     "start_time": "2025-01-08T13:27:12.174943Z"
    }
   },
   "outputs": [],
   "execution_count": 17
  },
  {
   "cell_type": "code",
   "source": "df_obj.groupby('key1').transform('mean')",
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:27:27.063508Z",
     "start_time": "2025-01-08T13:27:27.054902Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "      data1     data2\n",
       "0  6.400000  5.200000\n",
       "1  3.333333  3.333333\n",
       "2  6.400000  5.200000\n",
       "3  3.333333  3.333333\n",
       "4  6.400000  5.200000\n",
       "5  3.333333  3.333333\n",
       "6  6.400000  5.200000\n",
       "7  6.400000  5.200000"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3.333333</td>\n",
       "      <td>3.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>6.400000</td>\n",
       "      <td>5.200000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-08T13:30:07.595075Z",
     "start_time": "2025-01-08T13:30:07.589706Z"
    }
   },
   "cell_type": "code",
   "source": "df_obj",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "  key1  data1  data2\n",
       "0    a      8      9\n",
       "1    b      4      1\n",
       "2    a      8      1\n",
       "3    b      2      3\n",
       "4    a      8      4\n",
       "5    b      4      6\n",
       "6    a      2      4\n",
       "7    a      6      8"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>key1</th>\n",
       "      <th>data1</th>\n",
       "      <th>data2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>a</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>b</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>a</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>b</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>a</td>\n",
       "      <td>8</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>b</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>a</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>a</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 23
  },
  {
   "cell_type": "code",
   "source": [
    "#实现a组和b组，谁比平均分高，谁比平均分低\n",
    "def diff_mean(s):\n",
    "    \"\"\"\n",
    "        返回数据与均值的差值，s传入的是某一个分组\n",
    "    \"\"\"\n",
    "    return s - s.mean()\n",
    "\n",
    "print(df_obj.groupby('key1').transform(diff_mean))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    },
    "ExecuteTime": {
     "end_time": "2025-01-08T13:30:15.614721Z",
     "start_time": "2025-01-08T13:30:15.606911Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      data1     data2\n",
      "0  1.600000  3.800000\n",
      "1  0.666667 -2.333333\n",
      "2  1.600000 -4.200000\n",
      "3 -1.333333 -0.333333\n",
      "4  1.600000 -1.200000\n",
      "5  0.666667  2.666667\n",
      "6 -4.400000 -1.200000\n",
      "7 -0.400000  2.800000\n"
     ]
    }
   ],
   "execution_count": 24
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
